package org.thread.test05.tx.demo05.t02;

/**
 * 注意：当前案例中，是一个男孩给一个女孩摘水果
 * <p>
 * 思考：如果希望一群男孩给一群女孩摘水果呢？
 * 多创建几个男孩、女孩的线程 + notify -> notifyAll
 * <p>
 * 注意：此案例中，出现了虚拟唤醒问题 - 唤醒了不该唤醒的线程
 * 解决：把 if 修改为 while - 被唤醒后重新判断一下条件
 *
 * @author ZQX
 * @date 2025-03-14
 */
public class MainTest {
    public static void main(String[] args) throws InterruptedException {
        Box box = new Box();

        BoyThread boy1 = new BoyThread(box, "张三");
        BoyThread boy2 = new BoyThread(box, "李四");

        GirlThread girl1 = new GirlThread(box, "小花");
        GirlThread girl2 = new GirlThread(box, "小红");
        GirlThread girl3 = new GirlThread(box, "小龙");

        boy1.start();
        boy2.start();


        girl1.start();
        girl2.start();
        girl3.start();
    }
}
